Hàm tạo (lập trình hướng đối tượng)

Trong lập trình hướng đối tượng dựa trên lớp, hàm tạo (tiếng Anh: constructor, viết tắt: ctor) trong một lớp là một kiểu chương trình con đặc biệt được dùng để tạo ra đối tượng. Nó chuẩn bị đối tượng mới để sử dụng, thường chấp nhận các đối số mà hàm tạo dùng để thiết lập các biến thành viên bắt buộc.Một hàm tạo có vẻ giống như là phương thức thực thể, nhưng nó khác phương thức vì nó không có kiểu trả về rõ ràng, nó không được kế thừa ngầm và nó thường có các quy tắc khác nhau để chỉ định tầm vực. Hàm tạo thường có tên giống với lớp được khai báo. Chúng có nhiệm vụ khởi tạo thành viên dữ liệu của đối tượng và thiết lập bất biến của lớp, thất bại nếu bất biến không hợp lệ. Một hàm tạo được viết tốt sẽ cho kết quả đối tượng với trạng thái hợp lệ. Đối tượng bất biến phải được khởi tạo trong hàm tạo.Các lập trình viên cung hay dùng thuật ngữ hàm tạo để chỉ một trong những thẻ đóng gói dữ liệu trong một kiểu dữ liệu đại số. Nó là một cách dùng khác với bài viết này.[Còn mơ hồthảo luận]Hầu hết các ngôn ngữ cho phép chồng hàm tạo vì vậy một lớp có thể có nhiều hơn một hàm tạo với các tham số khác nhau. Một vài ngôn ngữ còn xem xét một số loại hàm tạo đặc biệt. Hàm tạo, sử dụng một lớp duy nhất để tạo đối tượng và trả về một thực thể mới của lớp đó, được trừu tượng hóa bởi factory, cũng có thể tạo ra đối tượng nhưng với nhiều cách, sử dụng nhiều lớp hay các phương thức phân bổ khác nhau như một vùng chứa đối tượng (object pool).